<template>
  <div>
    <div>
      <label for="orderNo">订单号：</label>
      <input id="orderNo" v-model.trim="orderNo" @keyup.enter="search" />
      <button @click="search">查询</button>
    </div>
    <!-- v-show 虽然没显示，但是结构还是会渲染到页面，只是隐藏了而已，那内部的组件 也会渲染  -->
    <div class="logistics-info" v-if="isShowResult">
      <h2>商品相关信息</h2>
      <!-- 当初次渲染时：orderInfo 是一个空对象，所以 orderInfo.goodInfo 是 undefined，会导致初次渲染时，该组件的属性检查报错 -->
      <!-- 如果不想看到这个警告报错，可以将上面的v-show换成v-if -->
      <LogisticsGoods :goodsInfo="orderInfo.goodInfo" >
        <template #desc="{ desc }">
          <img :src="desc" alt="" width="100">
        </template>
      </LogisticsGoods>
      <h2>物流相关信息</h2>
      <LogisticsInformation :orderInfo="orderInfo" />
    </div>
  </div>
</template>

<script>
import LogisticsGoods from './LogisticsGoods.vue'
import LogisticsInformation from './LogisticsInformation.vue'
export default {
  name: 'LogisticsInformationTracking',
  components: {
    LogisticsGoods,
    LogisticsInformation
  },
  data() {
    return {
      // 用来保存后台查询出来的订单信息对象
      orderInfo: {},
      // 订单号
      orderNo: '',
      // 是否显示结果
      isShowResult: false
    }
  },
  methods: {
    search() {
      if (!this.orderNo) return alert('请输入订单号')

      // 模拟请求数据
      setTimeout(() => {
        this.orderInfo = {
          orderNo: this.currentOrderNo,
          role: 'adminadsfasdf', // 角色 ==> 用于判断是否有查看用户详情的权限
          logisticsStatus: 1, // 0 未发货 1 已发货 2 已签收 3 未签收
          logisticsCompany: '顺丰速运', // 快递公司的名称
          logisticsNo: 'SF123456789', // 快件运单号
          logisticsInfo: [
            {
              time: '2023-02-01 10:00:00', // 时间
              content: '快件已发货' // 快递状态
            },
            {
              time: '2023-02-02 09:00:00',
              content: '快件到达深圳中心'
            },
            {
              time: '2023-02-03 08:00:00',
              content: '快件派送中'
            },
            {
              time: '2023-02-04 16:00:00',
              content: '已签收'
            }
          ],
          goodInfo: { // 商品信息
            goodNo: '12345678912312', // 商品id
            goodName: '三体',// 商品名称
            type: 0, // 0 代表的是文本 1代表的是 图片
            // desc 描述 ==> 可以是图片 也可以是其他的东西。数据可以随便改
            desc: '	http://registakeaway.itheima.net/common/download?name=9b978122-179a-4b0e-891b-595d0cd3d875.jpg'
          }
        }
        // 显示结果
        this.isShowResult = true
      }, 300);

    }
  }
}
</script>
<style scoped>
  .logistics-info {
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0px 0px 10px #eee;
    padding: 10px;
    font-size: 14px;
  }
</style>